home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / t_os / border / source / dabe_fil.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-19  |  1.4 KB  |  75 lines

  1. #include    <stdio.h>
  2. #include    <string.h>
  3.  
  4. extern    char    drive[];
  5. extern    char    path[];
  6.  
  7. void    makepath( char *pathname )
  8. {
  9.     short        chrlen;
  10.     
  11.     strcpy( pathname, drive );
  12.     strcat( pathname, path );
  13.     chrlen = strlen( pathname );
  14.     if( *(pathname + chrlen - 1) != 0x5C )
  15.         strcat( pathname, "\\" );    
  16. }
  17.  
  18. void    makefilename( char *makechar, char *filename )
  19. {
  20.     if( strlen( filename ) >= 8 )
  21.         strncat( makechar, filename, 8 );
  22.     else
  23.         strncat( makechar, filename, strlen( filename ) );
  24. }
  25.   
  26. FILE    *fopen_crd(char *filename, char *type)
  27. {
  28.     char    pathname[64];
  29.     FILE    *fp;
  30.     
  31.     makepath( pathname );
  32.     makefilename( pathname, filename );
  33.     strcat( pathname, ".CRD" );
  34.     
  35.     fp = fopen( pathname, type ); 
  36.     
  37.     return    fp;
  38. }
  39.  
  40. FILE    *fopen_kom(char *filename, char *type)
  41. {
  42.     char    pathname[64];
  43.     FILE    *fp;
  44.     
  45.     makepath( pathname );
  46.     makefilename( pathname, filename );
  47.     strcat( pathname, ".KOM" );
  48.     
  49.     fp = fopen( pathname, type ); 
  50.     
  51.     return    fp;
  52. }
  53.  
  54. void     fputx(char *swork, FILE *fp) /* fputs改良版 */
  55. {
  56.     short        mojilen;
  57.     
  58.     mojilen = strlen(swork);
  59.     *(swork + mojilen) = (char)('\n');
  60.     *(swork + mojilen + 1) = (char)0x00;
  61.     fputs(swork, fp);
  62.     *(swork + mojilen) = (char)0x00;
  63. }
  64.  
  65. char    *fgetx(char *swork, short  mojilen, FILE *fp) /* fgets改良版 */
  66. {
  67.     if(fgets(swork, mojilen, fp) != NULL){
  68.         mojilen = strlen(swork);
  69.         *(swork + mojilen - 1) = (char)0x00;
  70.         return  swork;
  71.     }
  72.     else
  73.         return  NULL;
  74. }
  75.